home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgramD2.iso / Borland / Borland C++ V5.02 / BOCOLE.PAK / BOLEINTF.H < prev    next >
C/C++ Source or Header  |  1997-05-06  |  21KB  |  507 lines

  1. //----------------------------------------------------------------------------
  2. // ObjectComponents
  3. // Copyright (c) 1994, 1996 by Borland International, All Rights Reserved
  4. //
  5. // $Revision:   2.11  $
  6. //
  7. //  Contains the main interfaces (abstract base classes) used by Bolero to 
  8. //  encapsulate OLE2 compound document functionality
  9. //----------------------------------------------------------------------------
  10. #ifndef _BOLEINTF_H
  11. #define _BOLEINTF_H
  12.  
  13. #if ((defined __BORLANDC__) && (!defined WIN32))
  14. #pragma option -po-
  15. #endif
  16.  
  17. #ifndef _BOLEDEFS_H
  18. #include <BoleDefs.h>
  19. #endif
  20.  
  21. #if ((defined __BORLANDC__) && (!defined WIN32))
  22. #pragma option -po-
  23. #endif
  24.  
  25. #ifdef WIN32
  26. #include "pshpack8.h"
  27. #endif
  28.  
  29. PREDECLARE_INTERFACE( IBClassMgr )
  30. PREDECLARE_INTERFACE( IBPart )
  31. PREDECLARE_INTERFACE( IBService )
  32. PREDECLARE_INTERFACE( IBLinkable)
  33. PREDECLARE_INTERFACE( IBRootLinkable)
  34. PREDECLARE_INTERFACE( IBContains)
  35. PREDECLARE_INTERFACE( IBDocument )
  36. PREDECLARE_INTERFACE( IBContainer )
  37. PREDECLARE_INTERFACE( IBSite )
  38. PREDECLARE_INTERFACE( IBApplication )
  39. PREDECLARE_INTERFACE( IBLinkInfo)
  40. PREDECLARE_INTERFACE( IBDataNegotiator)
  41. PREDECLARE_INTERFACE( IBDataProvider)
  42. PREDECLARE_INTERFACE( IBDataConsumer)
  43. PREDECLARE_INTERFACE( IBWindow)
  44. PREDECLARE_INTERFACE( IBDropDest)
  45. PREDECLARE_INTERFACE( IBClass)
  46. PREDECLARE_INTERFACE( IBOverrideBrowseLinks)
  47. PREDECLARE_INTERFACE( IBSite2)
  48. PREDECLARE_INTERFACE( IBOverrideHelpButton)
  49. PREDECLARE_INTERFACE( IBPart2 )
  50. PREDECLARE_INTERFACE( IBDataProvider2 )
  51. PREDECLARE_INTERFACE( IBService2 )
  52. PREDECLARE_INTERFACE( IBControlSite)
  53. PREDECLARE_INTERFACE( IBControl)
  54. PREDECLARE_INTERFACE( IBEventsHandler )
  55. PREDECLARE_INTERFACE( IBEventClass )
  56. PREDECLARE_INTERFACE( IBSinkList )
  57. PREDECLARE_INTERFACE( IBPicture)
  58. PREDECLARE_INTERFACE( IBDataState)
  59.  
  60. // IClassMgr abstract base class
  61. //
  62. class _ICLASS IBClassMgr : public IUnknown {
  63. public:
  64.  
  65.    virtual HRESULT _IFUNC ComponentCreate(
  66.                 PIUnknown FAR* ppRet,
  67.                 PIUnknown pAggregator,
  68.                 BCID            idClass
  69.                 )       = 0;
  70.    virtual HRESULT _IFUNC ComponentInfoGet(
  71.                 PIUnknown FAR* ppInfo,
  72.                 PIUnknown pAggregator,
  73.                 BCID            idClass
  74.                 )       = 0;
  75. };
  76.  
  77. // IBDataNegotiator -- Enumerats formats for drag/drop and paste
  78. //
  79. class _ICLASS IBDataNegotiator : public IUnknown {
  80.   public:
  81.  
  82.     virtual UINT                _IFUNC CountFormats ()                       = 0;
  83.     virtual HRESULT     _IFUNC GetFormat (UINT, BOleFormat FAR*)     = 0;
  84. };
  85.  
  86. // IBDataConsumer -- Supported by containers who want to accept drag/drop
  87. //                   and paste. No new methods over the negotiator, so
  88. //                   this is just a placeholder for the consumer name.
  89. //
  90. class _ICLASS IBDataConsumer : public IBDataNegotiator {
  91. };
  92.  
  93. // IBDataProvider -- Supported by parts and/or sites which can be
  94. //                   copied to the OLE2 clipboard
  95. //
  96. class _ICLASS IBDataProvider : public IBDataNegotiator {
  97.   public:
  98.  
  99.     virtual HANDLE _IFUNC GetFormatData (BOleFormat FAR*)              = 0;
  100.     virtual HRESULT _IFUNC Draw (HDC,LPCRECTL,LPCRECTL,BOleAspect,
  101.                                         BOleDraw bd = BOLE_DRAW_NONE)      = 0;
  102.     virtual HRESULT _IFUNC GetPartSize (LPSIZE)                        = 0;
  103.     virtual HRESULT _IFUNC Save (IStorage FAR*, BOOL fSamAsLoad,
  104.                                                 BOOL fRemember)        = 0;
  105. };
  106.  
  107. // IBDataProvider2 -- new version of IBDataProvider
  108. //
  109. class _ICLASS IBDataProvider2 : public IBDataProvider {
  110.   public:
  111.  
  112.     virtual HRESULT _IFUNC SetFormatData (BOleFormat FAR* fmt, HANDLE data, BOOL release) = 0;
  113. };
  114.  
  115. // IBPart -- Supported by server objects
  116. //
  117. class _ICLASS IBPart : public IBDataProvider {
  118.   public:
  119.  
  120.     virtual HRESULT _IFUNC Init (PIBSite,BOleInitInfo FAR*)         = 0;
  121.     virtual HRESULT _IFUNC Close ()                                                         = 0;
  122.     virtual HRESULT _IFUNC CanOpenInPlace ()                        = 0;
  123.     virtual HRESULT _IFUNC SetPartSize (LPSIZE)                     = 0;
  124.     virtual HRESULT _IFUNC SetPartPos (LPRECT)                      = 0;
  125.     virtual HRESULT _IFUNC Activate (BOOL)                          = 0;
  126.     virtual HRESULT _IFUNC Show (BOOL)                              = 0;
  127.     virtual HRESULT _IFUNC Open (BOOL)                              = 0;
  128.     virtual HRESULT _IFUNC EnumVerbs (BOleVerb FAR*)                = 0;
  129.     virtual HRESULT _IFUNC DoVerb (UINT)                            = 0;
  130.     virtual HWND    _IFUNC OpenInPlace (HWND)                       = 0;
  131.     virtual HRESULT _IFUNC InsertMenus (HMENU,BOleMenuWidths FAR*)  = 0;
  132.     virtual HRESULT _IFUNC ShowTools (BOOL)                         = 0;
  133.     virtual void    _IFUNC FrameResized (LPCRECT,BOOL)              = 0;
  134.     virtual HRESULT _IFUNC DragFeedback (LPPOINT,BOOL)              = 0;
  135.     virtual HRESULT _IFUNC GetPalette (LPLOGPALETTE FAR*)           = 0;
  136.     virtual HRESULT _IFUNC SetHost (PIBContainer pObjContainer)     = 0;
  137.     virtual HRESULT _IFUNC DoQueryInterface(REFIID iid, void FAR* FAR* pif)= 0;
  138.  
  139.     virtual LPOLESTR _IFUNC GetName (BOlePartName)                  = 0;
  140. };
  141.  
  142.  
  143. // IBPart2 -- Supported by server objects
  144. //
  145. class _ICLASS IBPart2 : public IBPart,
  146.                         public IBDataProvider2 {
  147. };
  148.  
  149. // IService abstract base class
  150. //
  151. class _ICLASS IBService : public IUnknown {
  152.   public:
  153.  
  154.     virtual void     _IFUNC OnResize ()                           = 0;
  155.     virtual void     _IFUNC OnActivate (BOOL)                     = 0;
  156.     virtual HRESULT  _IFUNC OnModalDialog (BOOL)                  = 0;
  157.     virtual HRESULT  _IFUNC OnSetFocus(BOOL)                      = 0;
  158.  
  159.     virtual HRESULT  _IFUNC Init (PIBApplication)                 = 0;
  160.     virtual HRESULT  _IFUNC RegisterClass (LPCOLESTR,PIBClassMgr,BCID,
  161.                               BOOL fEmbedInSelf, BOOL fSingleUse) = 0;
  162.     virtual HRESULT  _IFUNC UnregisterClass (LPCOLESTR)           = 0;
  163.     virtual HRESULT  _IFUNC TranslateAccel (LPMSG)                = 0;
  164.     virtual BOleHelp _IFUNC HelpMode (BOleHelp)                   = 0;
  165.     virtual HRESULT  _IFUNC CanClose ()                           = 0;
  166.  
  167.     virtual HRESULT  _IFUNC BrowseClipboard (BOleInitInfo FAR*)    = 0;
  168.     virtual HRESULT  _IFUNC Browse (BOleInitInfo FAR*)            = 0;
  169.  
  170.     virtual HRESULT        _IFUNC Paste (BOleInitInfo FAR*)                                        = 0;
  171.     virtual HRESULT  _IFUNC Clip (PIBDataProvider, BOOL, BOOL, BOOL) = 0;
  172.     virtual HRESULT  _IFUNC Drag (PIBDataProvider, BOleDropAction, BOleDropAction FAR*)                 = 0;
  173.     virtual IStorage FAR* _IFUNC CreateStorageOnFile (LPCOLESTR, BOOL) = 0;
  174.     virtual HRESULT _IFUNC ConvertUI (PIBPart, BOOL,
  175.                                  BOleConvertInfo FAR*)       = 0;
  176.     virtual HRESULT _IFUNC ConvertGuts (PIBPart, BOOL,
  177.                                    BOleConvertInfo FAR*)     = 0;
  178.     virtual BOleMenuEnable _IFUNC EnableEditMenu (BOleMenuEnable,
  179.                                                   PIBDataConsumer)= 0;
  180. };
  181.  
  182. class _ICLASS IBService2 : public IBService {
  183.   public:
  184.     virtual HRESULT  _IFUNC BrowseControls (BOleInitInfo FAR*)    = 0;
  185.     virtual HRESULT  _IFUNC RegisterControlClass (LPCOLESTR,PIBClassMgr,BCID,
  186.                               BOOL fEmbedInSelf, BOOL fSingleUse) = 0;
  187.     virtual HRESULT  _IFUNC UnregisterControlClass (LPCOLESTR)    = 0;
  188. };
  189.  
  190. // ILinkable abstract base class
  191. //
  192. class _ICLASS IBLinkable : public IUnknown {
  193.   public:
  194.     virtual HRESULT _IFUNC GetMoniker(IMoniker FAR* FAR* ppMon)    = 0;
  195.     virtual HRESULT _IFUNC OnRename(PIBLinkable pContainer, LPCOLESTR szName) = 0;
  196.                     // pass NULL szName when Doc closes
  197.                     // pass boledoc for pContainer if root part (file)
  198. };
  199. class _ICLASS IBRootLinkable : public IBLinkable {
  200.   public:
  201.     virtual HRESULT _IFUNC Init (PIBContains pC, LPCOLESTR szProgId) = 0;
  202.     virtual HRESULT _IFUNC SetMoniker (IMoniker FAR* pMon)           = 0;
  203. };
  204. /*
  205.  * on BOleLinkDoc used by Part servers and Linking Containers
  206.  * on BOleSite          used by parts
  207.  */
  208.  
  209. // IContains abstract base class
  210. //
  211. class _ICLASS IBContains : public IUnknown {
  212.   public:
  213.     virtual HRESULT _IFUNC Init(LPCOLESTR)                               = 0;
  214.     virtual HRESULT _IFUNC GetPart(PIBPart FAR*, LPCOLESTR)              = 0;
  215. };
  216. /*
  217.  * on linkable containers (all Containers with BOleLinkDoc helper)
  218.  * on linkable server documents (with BOleLinkDoc helper)
  219.  * on intermediate parts  (in addition to IPart)
  220.  */
  221.  
  222. // IBDocument -- Supported by BOleDocument one per container child window
  223. //
  224. class _ICLASS IBDocument : public IUnknown {
  225.   public:
  226.     virtual HRESULT _IFUNC Init (PIBContainer)                         = 0;
  227.     virtual void    _IFUNC OnResize ()                                 = 0;
  228.     virtual void    _IFUNC OnActivate (BOOL)                           = 0;
  229.     virtual void    _IFUNC OnClose ()                                  = 0;
  230.     virtual HRESULT _IFUNC OnSetFocus(BOOL)                            = 0;
  231.  
  232.     virtual HRESULT _IFUNC EnumLinks (PIBLinkInfo FAR*)                = 0;
  233.     virtual HRESULT _IFUNC BrowseLinks ()                              = 0;
  234.     virtual HRESULT _IFUNC UpdateLinks ()                              = 0;
  235. };
  236.  
  237.  
  238.  
  239. // IBWindow -- Supported on child window *and* frame window of container apps
  240. //
  241. class _ICLASS IBWindow : public IUnknown {
  242. public:
  243.     virtual HWND     _IFUNC GetWindow ()                               = 0;
  244.     virtual HRESULT  _IFUNC GetWindowRect (LPRECT)                     = 0;
  245.     virtual LPCOLESTR _IFUNC GetWindowTitle ()                         = 0;
  246.     virtual void     _IFUNC AppendWindowTitle (LPCOLESTR)              = 0;
  247.     virtual HRESULT  _IFUNC SetStatusText (LPCOLESTR)                  = 0;
  248.  
  249.     virtual HRESULT  _IFUNC RequestBorderSpace (LPCRECT)               = 0;
  250.     virtual HRESULT  _IFUNC SetBorderSpace (LPCRECT)                   = 0;
  251.  
  252.     virtual HRESULT  _IFUNC InsertContainerMenus (HMENU,BOleMenuWidths FAR*)    = 0;
  253.     virtual HRESULT  _IFUNC SetFrameMenu (HMENU)                       = 0;
  254.     virtual void     _IFUNC RestoreUI ()                               = 0;
  255.     virtual HRESULT  _IFUNC Accelerator (LPMSG)                                                           = 0;
  256.          virtual HRESULT  _IFUNC GetAccelerators (HACCEL FAR*, int FAR*)    = 0;
  257. };
  258.  
  259. // IBContainer -- Supported by container app's document window
  260. //
  261. class _ICLASS IBContainer : public IBWindow {
  262.   public:
  263.     virtual HRESULT  _IFUNC FindDropDest (LPPOINT, PIBDropDest FAR*) = 0;
  264.     virtual HRESULT  _IFUNC AllowInPlace ()                          = 0;
  265.     virtual HRESULT  _IFUNC BringToFront ()                          = 0;
  266. };
  267.  
  268. // IBDropDest -- Supported by container app's document window and/or other
  269. //               areas inside the window.
  270. //
  271. class _ICLASS IBDropDest : public IBDataConsumer {
  272.   public:
  273.     virtual HRESULT  _IFUNC Drop (BOleInitInfo FAR*, LPPOINT, LPCRECT) = 0;
  274.     virtual void     _IFUNC DragFeedback (LPPOINT, LPCRECT,
  275.                                       BOleMouseAction, UINT, HRESULT&) = 0;
  276.     virtual HRESULT  _IFUNC Scroll (BOleScroll scrollDir)              = 0;
  277.     virtual HRESULT  _IFUNC GetScrollRect (LPRECT)                     = 0;
  278. };
  279.  
  280. // IBApplication -- Supported at frame window/app object of container apps
  281. //
  282. class _ICLASS IBApplication : public IBWindow {
  283.   public:
  284.  
  285.     virtual LPCOLESTR   _IFUNC GetAppName ()                           = 0;
  286.     virtual BOleHelp _IFUNC HelpMode (BOleHelp)                        = 0;
  287.     virtual HRESULT  _IFUNC CanLink ()                                 = 0;
  288.     virtual HRESULT  _IFUNC CanEmbed ()                                = 0;
  289.     virtual HRESULT  _IFUNC IsMDI ()                                   = 0;
  290.     virtual HRESULT  _IFUNC OnModalDialog (BOOL)                       = 0;
  291.     virtual void     _IFUNC DialogHelpNotify (BOleDialogHelp)          = 0;
  292.     virtual void           _IFUNC ShutdownMaybe ()                                                                   = 0;
  293. };
  294.  
  295. // IBSite -- Supported by container apps for each linked/embedded object
  296. //
  297. class _ICLASS IBSite : public IUnknown {
  298.   public:
  299.  
  300.     virtual HRESULT _IFUNC SiteShow (BOOL)                             = 0;
  301.     virtual HRESULT _IFUNC DiscardUndo ()                              = 0;
  302.     virtual HRESULT _IFUNC GetSiteRect (LPRECT,LPRECT)                 = 0;
  303.     virtual HRESULT _IFUNC SetSiteRect (LPCRECT)                       = 0;
  304.     virtual HRESULT _IFUNC SetSiteExtent (LPCSIZE)                     = 0;
  305.     virtual HRESULT _IFUNC GetZoom(BOleScaleFactor FAR* pScale)        = 0;
  306.     virtual void    _IFUNC Invalidate (BOleInvalidate)                 = 0;
  307.     virtual void    _IFUNC OnSetFocus(BOOL)                            = 0;
  308.     virtual HRESULT _IFUNC Init (PIBDataProvider, PIBPart, LPCOLESTR, BOOL)     = 0;
  309.     virtual void    _IFUNC Disconnect ()                                               = 0;
  310. };
  311.  
  312. // IBSite2 -- Add flexibility to have parent of site not be container
  313. //
  314. class _ICLASS IBSite2 : public IBSite {
  315.   public:
  316.     virtual HRESULT _IFUNC GetParentWindow (HWND FAR*)                 = 0;
  317. };
  318.  
  319.  
  320. // IBDataState
  321. // this interface is used to give access to the internal dirty flag
  322. // (only used internally by controls)
  323. //
  324. class _ICLASS IBDataState: public IUnknown {
  325.     public:
  326.       virtual void _IFUNC SetDirty (BOOL)                                                             = 0;
  327.         virtual HRESULT _IFUNC IsDirty ()                                                                    = 0;
  328.         virtual HRESULT _IFUNC GetClassID (LPCLSID)                                                = 0;
  329. };
  330.  
  331.  
  332. // IBControlSite
  333. //
  334.  
  335. //class _ICLASS IDispatch;   // forward class references
  336. //class _ICLASS ITypeInfo;   // forward class references
  337. //typedef long DISPID;
  338.  
  339.  
  340. class _ICLASS IBControlSite : public IUnknown {
  341.   public:
  342.     virtual HRESULT _IFUNC Init (UINT, IBControl*, UINT)             = 0;
  343.     virtual HRESULT _IFUNC OnPropertyChanged (DISPID dispid)         = 0;
  344.     virtual HRESULT _IFUNC OnPropertyRequestEdit (DISPID dispid)     = 0;
  345.     virtual HRESULT _IFUNC OnControlFocus (BOOL fGotFocus)           = 0;
  346.     virtual HRESULT _IFUNC TransformCoords (POINTL FAR* lpptlHimetric,
  347.                             TPOINTF FAR* lpptfContainer, DWORD flags) = 0;
  348. };
  349.  
  350. // IBControl
  351. //
  352. class _ICLASS IBControl : public IBPart //, public IBDataProvider2
  353. {
  354.   public:
  355.     virtual HRESULT _IFUNC GetEventIID (IID *iidEvent)                 = 0;
  356.     virtual HRESULT _IFUNC GetEventTypeInfo (ITypeInfo FAR * FAR *ppTypeInfo) = 0;
  357.     virtual HRESULT _IFUNC GetCtrlDispatch (IDispatch FAR * FAR *ppDispatch)  = 0;
  358.     virtual HRESULT _IFUNC SetEventDispatch (IDispatch *)              = 0;
  359.     virtual HRESULT _IFUNC SetAmbientDispatch (IDispatch *)            = 0;
  360.  
  361.     // standard control methods - other methods access thru GetCtrlDispatch ()
  362.     virtual HRESULT _IFUNC Refresh ()                                  = 0;
  363.     virtual HRESULT _IFUNC DoClick ()                                  = 0;
  364.     virtual HRESULT _IFUNC AboutBox ()                                 = 0;
  365.  
  366.     virtual HRESULT _IFUNC AmbientChanged (DISPID dispid)              = 0;
  367.  
  368.     // function passed down by BOleControlSite
  369.     virtual HRESULT _IFUNC GetControlInfo (LPCONTROLINFO)              = 0;
  370.     virtual HRESULT _IFUNC OnMnemonic (LPMSG)                           = 0;
  371.     virtual HRESULT _IFUNC FreezeEvents (BOOL)                           = 0;
  372.     virtual HRESULT _IFUNC GetClassInfo (LPTYPEINFO FAR*)              = 0;
  373.     virtual HRESULT _IFUNC GetSizeMax (ULARGE_INTEGER FAR*)                            = 0;
  374.     virtual HRESULT _IFUNC Save (LPSTREAM)                                                            = 0;
  375. };
  376.  
  377. // IBSinkList
  378. //
  379. class _ICLASS IBSinkList : public IUnknown {
  380.   public:
  381.     virtual HRESULT _IFUNC NextSink (LPVOID FAR*)                     = 0;
  382.     virtual HRESULT _IFUNC GetSinkAt (int, LPVOID FAR*)               = 0;
  383.     virtual HRESULT _IFUNC Reset ()                                     = 0;
  384. };
  385.  
  386. // IBEventsHandler
  387. //
  388. class _ICLASS IBEventsHandler : public IUnknown {
  389.   public:
  390.     virtual HRESULT _IFUNC RegisterEventsSet (REFIID, UINT)               = 0;
  391.     virtual HRESULT _IFUNC RegisterConnectionPoint (LPCONNECTIONPOINT)   = 0;
  392.     virtual HRESULT _IFUNC GetSinkListForIID (REFIID, IBSinkList**)      = 0;
  393. };
  394.  
  395. // IBEventClass
  396. //
  397. class _ICLASS IBEventClass : public IUnknown {
  398.   public:
  399.     virtual HRESULT _IFUNC GetSinkList (IBSinkList **)                  = 0;
  400.     virtual HRESULT _IFUNC FreezeEvents (bool)                                                    = 0;
  401. };
  402.  
  403. // IBPicture
  404. //
  405. class _ICLASS IBPicture : public IUnknown {
  406.   public:
  407.      virtual HRESULT _IFUNC GetHandle (HANDLE FAR* phandle)   = 0;
  408.      virtual HRESULT _IFUNC Draw (HDC hdc, long x, long y, long cx, long cy,
  409.                                 long xSrc, long ySrc, long cxSrc, long cySrc,
  410.                                 LPCRECT lprcWBounds)           = 0;
  411.     virtual HRESULT _IFUNC PictChanged ()                    = 0;
  412.     virtual HRESULT _IFUNC SetPictureDesc (LPVOID pPD)       = 0;  // LPVOID = PICTDESC *
  413. };
  414.  
  415. // IBLinkInfo -- Supported by BOleParts which are link objects
  416. //
  417. class _ICLASS IBLinkInfo : public IUnknown {
  418.   public:
  419.     virtual HRESULT _IFUNC SourceBreak ()                              = 0;
  420.     virtual HRESULT _IFUNC SourceGet (LPOLESTR, UINT count)            = 0;
  421.     virtual HRESULT _IFUNC SourceSet (LPOLESTR)                        = 0;
  422.     virtual HRESULT _IFUNC SourceOpen ()                               = 0;
  423.     virtual HRESULT _IFUNC UpdateGet (BOleLinkUpdate FAR*)             = 0;
  424.     virtual HRESULT _IFUNC UpdateSet (BOleLinkUpdate)                  = 0;
  425.     virtual HRESULT _IFUNC UpdateNow ()                                = 0;
  426. };
  427.  
  428. // IBClass -- Supported by BOleFactory
  429. //
  430. class _ICLASS IBClass : public IClassFactory {
  431.   public:
  432.     virtual HRESULT _IFUNC Init(BOOL fSelfEmbed, LPCOLESTR pszProgId, IBClassMgr *pCM, BCID rid) = 0;
  433.     virtual HRESULT _IFUNC Register(BOOL fSingleUse) = 0;
  434.     virtual HRESULT _IFUNC Revoke()                                                                                 = 0;
  435.     virtual HRESULT       _IFUNC GetClassID(LPCLSID pOut)                = 0;
  436.     virtual BOOL  _IFUNC IsA(REFCLSID pOut)                                                                 = 0;
  437.     virtual BOOL _IFUNC AllowEmbedFromSelf()                                                        = 0;
  438.     virtual HRESULT _IFUNC GetEmbeddingHelperFactory(LPUNKNOWN *ppF)  = 0;
  439. };
  440.  
  441. // IBOverrideBrowseLinks -- Supported by containers (who aggregate BOleDoc)
  442. //                          who want to override our BrowseLinks dialog.
  443. //
  444. class _ICLASS IBOverrideBrowseLinks : public IUnknown {
  445.   public:
  446.     virtual HRESULT    _IFUNC BrowseLinks ()                        = 0;
  447. };
  448.  
  449. // IBOverrideHelpButton -- Supported by container apps (who aggregate
  450. //                         BOleService) who want to suppress the help
  451. //                         button in our dialogs.
  452. //
  453. class _ICLASS IBOverrideHelpButton : public IUnknown {
  454.   public:
  455.     virtual HRESULT    _IFUNC ShowHelpButton (BOleDialogHelp) = 0;
  456. };
  457.  
  458. DEFINE_INLINE_QI( IBDataNegotiator, IUnknown)
  459. DEFINE_INLINE_QI( IBDataConsumer, IUnknown)
  460. DEFINE_INLINE_QI( IBDropDest, IBDataConsumer)
  461. DEFINE_INLINE_QI( IBDataProvider, IBDataNegotiator)
  462. DEFINE_INLINE_QI( IBPart, IBDataProvider)
  463.  
  464. DEFINE_INLINE_QI( IBWindow, IUnknown)
  465. DEFINE_INLINE_QI( IBContainer, IBWindow)
  466. DEFINE_INLINE_QI( IBApplication, IBWindow)
  467.  
  468. DEFINE_INLINE_QI( IBDocument, IUnknown)
  469. DEFINE_INLINE_QI( IBService, IUnknown)
  470. DEFINE_INLINE_QI( IBClassMgr, IUnknown)
  471. DEFINE_INLINE_QI( IBLinkInfo, IUnknown)
  472. DEFINE_INLINE_QI( IBSite, IUnknown)
  473. DEFINE_INLINE_QI( IBSite2, IBSite)
  474. DEFINE_INLINE_QI( IBContains, IUnknown)
  475.  
  476. DEFINE_INLINE_QI( IBLinkable, IUnknown)
  477. DEFINE_INLINE_QI( IBRootLinkable, IBLinkable)
  478. DEFINE_INLINE_QI( IClassFactory, IUnknown)
  479. DEFINE_INLINE_QI( IBClass, IClassFactory)
  480.  
  481. DEFINE_INLINE_QI( IBOverrideBrowseLinks, IUnknown)
  482. DEFINE_INLINE_QI( IBOverrideHelpButton, IUnknown)
  483.  
  484. DEFINE_INLINE_QI( IBDataProvider2, IBDataProvider)
  485. DEFINE_INLINE_QI2(IBPart2, IBPart, IBDataProvider2)
  486.  
  487. DEFINE_INLINE_QI( IBService2, IBService)
  488. DEFINE_INLINE_QI( IBControl, IBPart)
  489. DEFINE_INLINE_QI( IBControlSite, IUnknown)
  490. DEFINE_INLINE_QI( IBEventsHandler, IUnknown)
  491. DEFINE_INLINE_QI( IBEventClass, IUnknown)
  492. DEFINE_INLINE_QI( IBSinkList, IUnknown)
  493. DEFINE_INLINE_QI( IBPicture, IUnknown)
  494. DEFINE_INLINE_QI( IBDataState, IUnknown)
  495.  
  496.  
  497. #if ((defined __BORLANDC__) && (!defined WIN32))
  498. #pragma option -po.
  499. #endif
  500.  
  501. #ifdef WIN32
  502. #include "poppack.h"
  503. #endif
  504.  
  505. #endif
  506.  
  507.